package com.zlf.sb.demo.design.chain;

import org.springframework.core.Ordered;

public interface MerchantAdminAbstractChainHandler<T> extends Ordered {

    /**
     * 执行责任链逻辑
     *
     * @param requestParam 责任链执行入参
     */
    void handler(T requestParam);

    /**
     * @return 责任链组件标识
     */
    String mark();
    /**
     * 获取责任链执行顺序
     *
     * Spring 的 {@link Ordered} 接口方法，数值越小优先级越高。
     * 默认返回 `Ordered.LOWEST_PRECEDENCE`，表示优先级最低。
     *
     * @return 处理器的执行顺序。
     */
    @Override
    default int getOrder() {
        return Ordered.LOWEST_PRECEDENCE;
    }
}